DXF/de

Hintergrundgeschichte

Das Drawing Exchange Format (DXF) ist ein proprietäres CAD Datenformat, das von Autodesk entwickelt wurde, um den Dateiaustausch zwischen dem Flaggschiffprodukt AutoCAD und anderer Software zu ermöglichen. Es gibt eine Reihe von guten Softwarebibliotheken zum Lesen/Schreiben des DXF Formats.

Es gibt viele Versionen des DXF Formats. Du wirst von bestimmten Schlüsselversionen hören, wie z. B. R12 (von 1992) oder R14 (von 1997, die Splines hatte). Spätere Versionen von DXF haben 3D Elemente, aber diese werden nur selten verwendet oder implementiert. Wie du DXF nutzt, um CAD Daten zwischen Programmen auszutauschen, hängt hauptsächlich von den Begrenzungen und Fehlern in den entsprechenden Lesern/Importeuren und Schreibern/Exporteuren ab. Diese sind selten vollständig dokumentiert und können eine große Quelle der Frustration sein.

Wenn du DXF Dateien bearbeitest und möchtest, dass sie beim Speichern nahezu unverändert bleiben, empfehlen wir dir die Programme LibreCAD oder QCad, da die internen Datenstrukturen dieser Programme mit den Objekten in der DXF Datei kompatibel sind.

In FreeCAD müssen die DXF Leser die Geometrie (z. B. Spline Formen) aus der DXF Datei in die spezifischen internen Darstellungen des Arbeitsbereichs übersetzen.

Methoden zum Importieren von DXF in FreeCAD

Wenn Du die Einstellungen häufig überprüfen willst, empfehlen wir, in Bearbeiten → Einstellungen → Import-Export → DXF das Kästchen "[ ] Diesen Dialog beim importieren und exportieren anzeigen" zu aktivieren.

Mehr Informationen gibt es auf den Seiten Draft DXF und FreeCAD und DXF Import.

Wenn Du die importierte Geometrie nutzen willst, um 3D-Formen im PartDesign-Arbeitsbereich zu erstellen, dann versuche Skizzierer überprüfen, nachdem Du DXF in eine Skizze importiert hast.

C++ DXF Importeur

Diese Implementation ist schnell, überspringt aber Merkmale, die nicht erkannt werden, wie etwa DXF-Splines. Es kann außerdem nur Geometrien als einzelne Einträge im Modellbaum in den Draft-Arbeitsbereich importieren. Diese können die Farben aus der Datei importieren, wenn diese Option aktiviert ist. Weitere Informationen gibt es im (engl.) Forumseintrag.

Python DXF Importeur

Dieser Importer muss vor der Verwendung heruntergeladen und installiert werden. Dafür wird die Option "[ ] FreeCAD das automatische Herunterladen und Aktualisieren der DXF-Bibliotheken erlauben" (in Bearbeiten → Einstellungen → Import/Export → DXF) verwendet.

Dieser Importeur hat mehr Funktionen (wie das Importieren von Splines) und hat die Option zum Laden der DXF Formen in den Skizzierer. Sei jedoch gewarnt, dass alle Elemente der Skizze ein weiteres Mal einzeln im Modellbaum erscheinen, was verwirrend sein kann. Du kannst all diese einzelnen Objekte löschen und die einzelne Skizze beibehalten (die als zweiter Eintrag in der Liste der neuen Elemente erscheint).

Unglücklicherweise implementiert der Arbeitsbereich Skizze keine Farben, so dass alle Geometrien auf einer Ebene erscheinen, was zum Problem wird, wenn die Datei viele Konstruktionslinien enthält. Eine Umgehungslösung besteht darin, die Datei in LibreCAD zu öffnen und all die Geometrien zu löschen, die nicht erscheinen sollen, so dass eine Datei gespeichert wird, die genau die Geometrien enthält, die Du laden möchtest.

Makros

Hab' ein Auge auf das FreeCAD Forum oder die Makro Rezepte, um alternative Ausführungen von DXF Import und Aufräumroutinen kennenzulernen, während sie entwickelt werden.

DXF speichern

Zusätzlich zu den Optionen unter Bearbeiten → Voreinstellungen kann der TechDraw Arbeitsbereich auch Zeichnungsseiten mit der Funktion TechDraw ExportSeiteDXF nach DXF exportieren.


DXF terms and definitions

Anonymous blocks

When discussing DXF files, several terms are used to describe blocks that are generated automatically by the CAD software rather than by the user.

Essentially, "anonymous block" is the technical name, "system block" describes its function, and "hidden block" describes its typical user interface behavior. For practical purposes in the context of the FreeCAD DXF importer, they all refer to the same category of blocks.

Classes of anonymous blocks

Anonymous blocks are further categorized based on the character that follows the initial asterisk. This prefix indicates the block's specific purpose. The most common classes are:

BLOCKs and INSERTs

The BLOCK entity

A BLOCK is a named collection of geometric entities (lines, arcs, polylines, etc.) that are grouped together to form a single object definition. It can be thought of as a template.

A BLOCK:

The INSERT entity

An INSERT entity is what places a copy, or instance, of a BLOCK's geometry into the drawing's model space or paper space. It is a very lightweight entity because it does not contain the geometry itself; it only contains a reference to a BLOCK definition and instructions on how to place and transform it.

An INSERT:

BLOCK placement strategies

A DXF file separates the definition of a component from its placement.

There are two primary workflows for using blocks and inserts:

  1. Template and instance workflow: A single BLOCK definition is created, and multiple INSERT entities are used to place instances of it throughout the drawing. This is an efficient method for handling repetitive elements. For instance, the geometry for a chair is defined once in a BLOCK and then referenced many times by INSERT entities.
  2. Compound object workflow: A BLOCK is created from existing geometry simply to group those objects together as a single, selectable unit. In this case, the BLOCK definition is used by a single INSERT entity only.

The DXF importer must be able to distinguish between these two use cases to correctly represent the original drawing's intent, either by creating many linked instances to a single base object (template model) or by creating a single, visible object (grouped object model).